home *** CD-ROM | disk | FTP | other *** search
- ┌──────────────────────────────────────────────────────────────────────┐
- │Name: WFCSCRN.MOD │
- │Author: Odin #1@7664 (IceNET) - C stuff (My first 4.22 mod!) │
- │ Jim #1@1 (IceNET) - Ansi │
- │Version: 4.22 │
- │Files Affected: BBS.C - hey nice huh? │
- │Difficulty: ▓░░░░░░ - A monkey can do this one! │
- │Description: Are you tired of the blinking cursor at the top of your │
- │ WFC (waiting for call) screen. Well here is a nice │
- │ record of your BBS while your board is inactive. │
- └──────────────────────────────────────────────────────────────────────┘
-
- This mod has an on-screen clock using the computer clock. It shows the
- time in standard form (i.e. 3:30am). This mod also has a built in screen
- saver.
- The status box will move around the screen. It will return to its "home" 1/3
- of the time. I like it though, so think before killing. Any colors not
- desired may be fixed by using code similar to the one marked /*SELECT COLOR*/
- If you wish more colors to be excuded, duplicate the line and change the
- numbers.
-
- STEP 1: BACK UP YOUR SOURCES
- ------
-
- STEP 2: Load in BBS.C and locate "void getcaller"
- ------
-
- Before this line, block copy the following void into BBS.C:
-
- void wfc_window(int NoScreen)
- {
- int am, i, wx, wy, width, len, tmp, clr1, clr2, Imove;
- char otstr[30], d_o_w[3], day;
- double d;
- long hr, min,l, totspace;
- float ftmp;
- if(!NoScreen) {
- run_external1_x("ICE");
- d=timer();
- ftmp=d/3600.0;
- hr=(int) ftmp;
- ftmp=60.0*(ftmp-(float) hr);
- min=(int) ftmp;
- am=1;
- Imove=rand() % 3; /*MOVE*/
- if(hr>11){
- am=0;
- hr=hr-12;
- }
- if(hr==0)
- hr=12;
- wx=12;
- wy=6;
- if(Imove<2) { /*MOVE*/
- wx=rand() % 24; /*MOVE*/
- wy=rand() % 11; /*MOVE*/
- } /*MOVE*/
- width=55;
- len=9;
- randomize();
- clr1=rand() % 10;
- clr2=rand() % 10;
- if(clr1==6) clr1=1; /*Changes red to blue */ /*SELECT COLOR*/
- if(clr2==6) clr2=1;
- ansic(clr1);
- makewindow(wx,wy+2,width,len);
- ansic(clr2);
- makewindow(wx,wy,width,3);
- tmp=(width-strlen(syscfg.systemname))/2;
- movecsr(wx+tmp,wy+1);
- sprintf(otstr,"%s",syscfg.systemname); outs(otstr);
- movecsr(wx+width-8,wy+1);
- sprintf(otstr,"%2ld:%-2.2ld",hr,min); outs(otstr);
- movecsr(wx+width-3,wy+1);
- if(am) {
- sprintf(otstr,"am");
- }
- else sprintf(otstr,"pm");
- outs(otstr);
- day=dow();
- if(day==0) sprintf(d_o_w,"Sun");
- if(day==1) sprintf(d_o_w,"Mon");
- if(day==2) sprintf(d_o_w,"Tue");
- if(day==3) sprintf(d_o_w,"Wed");
- if(day==4) sprintf(d_o_w,"Thu");
- if(day==5) sprintf(d_o_w,"Fri");
- if(day==6) sprintf(d_o_w,"Sat");
- movecsr(wx+1,wy+1);
- sprintf(otstr,"%s %s",d_o_w,status.date1); outs(otstr);
- ansic(clr1);
- movecsr(wx+1,wy+3);
- sprintf(otstr,"Calls today : %4u",status.callstoday);
- outs(otstr);
- movecsr(wx+1,wy+4);
- sprintf(otstr,"Actvity : %5.2f%%"
- ,((float) status.activetoday)/14.4);
- outs(otstr);
- movecsr(wx+1,wy+5);
- sprintf(otstr,"Mail Waiting: %4u",fwaiting); outs(otstr);
- movecsr(wx+1,wy+6);
- sprintf(otstr,"Uploads : %4u",status.uptoday);
- outs(otstr);
- movecsr(wx+1,wy+7);
- sprintf(otstr,"Posts Today : %4u",status.msgposttoday);
- outs(otstr);
- movecsr(wx+1,wy+8);
- sprintf(otstr,"Total Users : %4u",status.users);
- outs(otstr);
- movecsr(wx+1,wy+9);
- sprintf(otstr,"Total Calls : %5ld",status.callernum1);
- outs(otstr);
- movecsr(wx+30,wy+4);
- sprintf(otstr,"Minutes : %4u",status.activetoday);
- outs(otstr);
- movecsr(wx+30,wy+5);
- sprintf(otstr,"Max Users : %4u",syscfg.maxusers);
- outs(otstr);
- movecsr(wx+30,wy+6);
- sprintf(otstr,"Com Port : %2u",syscfg.primaryport);
- outs(otstr);
- movecsr(wx+30,wy+7);
- sprintf(otstr,"NETxx Ver : %4u",status.net_version);
- outs(otstr);
- movecsr(wx+30,wy+8);
- sprintf(otstr,"WWIV Ver : %4u",status.wwiv_version);
- outs(otstr);
- movecsr(wx+30,wy+9);
- sprintf(otstr,"WWIV Reg. # : %5ld",syscfg.wwiv_reg_number);
- outs(otstr);
- movecsr(wx+30,wy+3);
- i=3;
- l=(long) freek(3); totspace=l;
- while ((l>0) && ((i+'@')<=cdir[0])) {
- i++;
- if ((i+'@')<=cdir[0]) {
- l=(long) freek(i);
- totspace+=l;
- }
- }
- sprintf(otstr,"HD Space : %8ldk",totspace);
- outs(otstr);
- ansic(0);
- movecsr(0,22);
- }
- }
-
- STEP 3: All the following changes/additions occur in void getcaller
- ------
- ┌──────────────────────┐
- │ Legend │
- │! - this line changed │
- │+ - add this line │
- │= - this there before │
- └──────────────────────┘
- -In the declaration section, make the following changes:
-
- ! int i,i1,i2,i3,any,wfc_on, NoScreen;
- ! double d,d1,tstamp,tmp;
-
- -Search for "srand((unsigned int)d);". Then change accordingly.
-
- = srand((unsigned int)d);
- + wfc_window(NoScreen);
- + tstamp=timer(); wfc_on=1;
- = do {
-
- -Search for "attempt_callout();". Then change accordingly.
-
- = if ((!any) && ((rand() % 8000)==0) && (net_sysnum) &&
- = (ok_modem_stuff)) {
- = attempt_callout();
- + wfc_on=0;
- = any=1;
-
- -In the switch section, add these lines
-
- + case '=':
- + if (NoScreen) NoScreen=0;
- + else NoScreen=1;
- + break;
-
- -Search for "if ((comhit())". Change accordingly.
- = }
- = okskey=0;
- + wfc_on=0;
- = }
- = if ((comhit()) && (ok_modem_stuff) && (!lokb)) {
- any=1;
-
- -Search for "giveup". Change accordingly.
-
- = giveup_timeslice();
- = }
- + tmp=timer()-tstamp;
- + if((!wfc_on) || (60<=tmp) || (0>tmp)) {
- + tstamp=timer();
- + wfc_on=1;
- + wfc_window(NoScreen); }
- = } while ((!incom) && (!lokb) && (!endday));
-
-
- STEP 4: Re-compile using TCC or BCC.
- ------
-
- STEP 5: Place ICE.COM into your main BBS directory. A copy is at the end
- ------ of this mod.
-
-
- STEP 6: Copy BBS.EXE, RETURN.EXE, and INIT.EXE into your main BBS directory.
- ------
-
-
- That's it.
-
- DISCLAIMER: Well, if your hard drive crashes, your BBS decides to nuke all
- ---------- the accounts, your sister runs away with the milkman, or you
- just screwed up, DON'T BLAME ME. This method worked great for
- me.
-
- The following is ICE.COM uuencoded. Use UUDECODE to return it to its original
- state and place it into your main BBS directory.
-
- section 1 of uuencode 5.13 of file ice.com by R.E.M.
-
- begin 644 ice.com
- M_+T@`8MN`(NF`@"+G@0`M$K-(:$L`(F&&@"+G@``_^,P`8H41@K2=`:T`LTA
- MZ_/#P`D6#`(!&`P9#1H.&P^?Z%)0Z)'H4!ZX1-=0N``"```;6S0P;1M;,DH;
- M6S([,4@;6S,[,4@;6S0[,4@;6S4[,4@;6S8[,4@;6S<[,4@;6SE#&ULP.S%M
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;$;6S@[,4@;6SE#L;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;$;
- M6S,V;;&Q&ULY.S%(&ULY0QM;,S=ML;&QL;$;6S`[,S5ML;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;$;6W,*#0`;6W6QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL1M;,3LS-VVQL1M;,S9ML;$;6S$P.S%(&ULY0QM;,S=ML;&QL;$;
- M6S`[,S5ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL1M;,3LS-VVQL1M;,S9ML;$;6S$Q.S%(&ULY0QM;
- M,S=ML;&QL;$;6S`[,S5ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL1M;,3LS-VVQL1M;,S9ML;$;6S$R
- M.S%(&UMS"@T`&UMU&ULY0QM;,S=ML;&QL;$;6S`[,S5ML;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL1M;
- M,3LS-VVQL1M;,S9ML;$;6S$S.S%(&ULY0QM;,S=ML;&QL;$;6S`[,S5ML;&Q
- ML1M;,3LS-VW?W]_?W]\;6S`[,S5ML;&Q&ULQ.S,W;=_?W]_?&ULP.S,U;;&Q
- M&ULQ.S,W;=_?W]_?W]\;6S`[,S5ML1M;,3LS-VW?W]\;6S`[,S5ML;&Q&ULQ
- M.S,W;=_?&ULP.S,U;;$;6S$[,S=MW]_?W]_?WQM;,#LS-6VQ&UMS"@T`&UMU
- M&ULQ.S,W;=_?W]_?W]_?&ULP.S,U;;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,30[
- M,4@;6SE#&ULS-VVQL;&QL1M;,#LS-6VQL;&QL1M;,3LS-VW?WQM;,#LS-6VQ
- ML;&Q&ULQ.S,W;=_?&ULP.S,U;;&QL1M;,3LS-VW?WQM;,#LS-6VQ&ULQ.S,W
- M;=_?&ULP.S,U;;&QL;&QL1M;,3LS-VW?W]_?&ULP.S,U;;&Q&ULQ.S,W;=_?
- M&ULP.S,U;;$;6S$[,S=MW]\;6S`[,S5ML;&QL;&QL;&Q&ULQ.S,W;=_?&ULP
- M.S,U;;&QL;&QL1M;,3LS-VVQL1M;,S9M&UMS"@T`&UMUL;$;6S$U.S%(&ULY
- M0QM;,S=ML;&QL;$;6S`[,S5ML;&QL1M;,3LS-VW?WQM;,#LS-6VQL;$;6S$[
- M,S=MW]_?&ULP.S,U;;&QL;&QL1M;,3LS-VW?W]_?WQM;,#LS-6VQL;$;6S$[
- M,S=MW]\;6S`[,S5ML1M;,3LS-VW?WQM;,#LS-6VQ&ULQ.S,W;=_?&ULP.S,U
- M;;$;6S$[,S=MW]_?W]\;6S`[,S5ML;&QL;&Q&ULQ.S,W;=_?&ULP.S,U;;&Q
- ML;&QL;$;6S$[,S=ML;$;6S,V;;&Q&ULQ-CLQ2!M;.4,;6S,W;;&QL;&Q&ULP
- M.S,U;;&QL1M;<PH-`!M;=1M;,3LS-VW?WQM;,#LS-6VQL;&Q&ULQ.S,W;=_?
- M&ULP.S,U;;&QL1M;,3LS-VW?WQM;,#LS-6VQ&ULQ.S,W;=_?&ULP.S,U;;&Q
- ML;&QL1M;,3LS-VW?WQM;,#LS-6VQL1M;,3LS-VW?W]_?&ULP.S,U;;$;6S$[
- M,S=MW]\;6S`[,S5ML;&QL;&QL;&Q&ULQ.S,W;=_?&ULP.S,U;;&QL;&QL;&Q
- M&ULQ.S,W;;&Q&ULS-FVQL1M;,3<[,4@;6SE#&ULS-VVQL;&QL=_?W]_?WQM;
- M,#LS-6VQL;$;6S$[,S=MW]_?W]\;6S`[,S5ML;$;6S$[,S=MW]_?WQM;<PH-
- M`!M;==_?WQM;,#LS-6VQ&ULQ.S,W;=_?&ULP.S,U;;&QL1M;,3LS-VW?W]\;
- M6S`[,S5ML1M;,3LS-VW?W]_?W]_?&ULP.S,U;;&QL;$;6S$[,S=MW]\;6S`[
- M,S5ML;&QL;&QL;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,3@[,4@;6SE#&ULS-VVQ
- ML;&QL1M;,#LS-6VQL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,3D[,4@;
- M6SE#&ULS-VVQL;&QL1M;,#LS-6VQL;&QL;&QL1M;<PH-`!M;=;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q&ULQ.S,W
- M;;&Q&ULS-FVQL1M;,C`[,4@;6SE#&ULS-VVQL;&QL1M;,#LS-6VQL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,C$[,4@;6SE#&ULS-VVQL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL1M;,S9ML;$*#0`;6S(R.S%(&ULQ,4.QL;&QL;&QL;&QL;&QL;&Q
- ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
- ML1M;,C,[,4@;6S(T.S%(&ULR-3LQ2!M;,&T;6S(U-40*#0"-MB``N"(!_]"-
- MMB(!N"(!_]"-MB("N"(!_]"-MB0#N"(!_]"-MB8$N"(!_]"-MB,%N"(!_]"-
- ?MB4&N"(!_]"-MB<'N"(!_]"-MB0(N"(!_]"X`$S-(4S-
- `
- end
- sum -r/size 21868/3232 section (from "begin" to "end")
- sum -r/size 28227/2326 entire input file
-
-
-
-
- A special thanks to Jim #1@1 (IceNET) for the ANSI background and for the
- continual ideas and support. What started as a little mod for me turned
- into a very nice functional mod that none of your users will appreciate, but
- I think you will. If you have any questions, feel free to write me and I
- will get back to you. It has been fun.....
-
- Odin #1 IceNET@7664
-
-
-
-